package 堆;

import org.junit.Test;

import java.util.PriorityQueue;

/**
 * @author aodre , QQ : 480029069
 * @date 2023/3/12 19:42
 */
public class Note {


    /*
     测试 一下 堆出现的 问题
     */

    @Test
    public void test(){
        PriorityQueue<Point> pq = new PriorityQueue<>((a,b)-> a.val - b.val);
        Point p2= new Point(2);
        Point p1= new Point(1);
        Point p5= new Point(5);
        Point p4= new Point(4);
        Point p3= new Point(3);
        pq.add(p2);
        pq.add(p1);
        pq.add(p3);
        pq.add(p4);
        pq.add(p5);
        System.out.println(pq);
        /*
        输出结果: ,这就是所谓 堆 会出现的 问题!
         [1, 2, 3, 4, 5]
         [10, 2, 3, 4, 5]
         */
        p1.val = 10;
        System.out.println(pq);
//        Point poll = pq.poll();
//        System.out.println(poll);
    }


    class Point{
        int val;
        public Point(int val){
            this.val = val;
        }


        public String toString(){
            return val + "";
        }
    }

}
